<template>
   <view class="index-container">
       <view class="code">{{code}}</view>
       <button size="small" class="mt15" @click="scanCode">扫码（不支持h5和部分小程序）</button>
       <button size="small" class="mt15" @click="h5scanCode">微信h5扫码</button>
   </view>
</template>

<script>
import jweixin from 'jweixin-module'
    export default {
        name: "index",
        data: () => {
			return {
                code:''
			}
		},
        async onLoad(){
            await this.getJSSDK()
        },
        methods: {
            /** 扫码（不支持h5和部分小程序）*/
            scanCode(){
                let _ = this
                uni.scanCode({
                    success(res) {
                        //这里即拿到了扫描出的数据
                        _.code = res.result
                    }
                })
            },
            /** 微信h5扫码*/
            async getJSSDK(){
                let _ = this
                let url = window.location.href.split('#')[0]
                console.log('SDKurl',url)
                const { data: res } = await getJsApiConfig2(url)
                if(res.success==true){
                    _.getConfig(res.data)
                }else {

                }
            },

            getConfig(res) {
                // 配置config信息
                jweixin.config({
                    debug: false,
                    appId: res.appId, // 必填，公众号的唯一标识
                    timestamp: res.timestamp, // 必填，生成签名的时间戳
                    nonceStr: res.noncestr, // 必填，生成签名的随机串
                    signature: res.signature, // 必填，签名
                    jsApiList: ['scanQRCode'] // 必填，需要使用的JS接口列表
                });
                // 通过ready接口处理成功验证
                jweixin.ready(function () {
                    jweixin.checkJsApi({
                        jsApiList: ['scanQRCode'],
                        success: function (res) {
                            console.log('检验成功');
                        }
                    });
                });
                // 通过error接口处理失败验证
                jweixin.error(function (res) {
                    console.log('校验失败');
                });
            },
            h5scanCode(){
                jweixin.scanQRCode({
                    needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果
                    scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码，默认二者都有
                    success: (res) => {
                        // 当needResult 为 1 时，扫码返回的结果
                        console.log('扫码成功', res);
                    }
                })
            }
        }

    }
</script>

<style lang="scss" scope>
@import 'index.scss';
</style>
